package com.szxy.backend.item.controller;

import com.szxy.backend.item.service.ItemService;
import com.szxy.pojo.TbItem;
import com.szxy.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * @Auther:zwer
 * @Date:2019/9/7 14:54
 * @Description:com.szxy.backend.item.controller
 * @Version:1.0
 **/
@RestController
@RequestMapping("/backend/item")
public class ItemController {

    @Autowired
    private ItemService itemService;

    /**
     * 查询商品并返回结果集
     * @param page 页码
     * @param rows 每页显示的行数
     * @return
     */
    @GetMapping("/selectTbItemAllByPage")
    public Result selectTbItemAllByPage(@RequestParam(defaultValue = "1") Integer page,
                                        @RequestParam(defaultValue = "2") Integer rows){
            try{
                return  this.itemService.selectTbItemAllByPage(page, rows);
            }catch (Exception e){
                e.printStackTrace();
            }
            return Result.build(500,"查询出错");
    }

    /**
     * 添加商品
     * @param item  商品对象
     * @param desc  商品描述信息
     * @param itemParams 商品规格参数
     * @return
     */
    @GetMapping("/insertTbItem")
    public Result insertTbItem(TbItem item,String desc,String itemParams){
        try{
            return this.itemService.insertTbItem(item,desc,itemParams);
        }catch (Exception e){
            e.printStackTrace();
        }
        return Result.build(500,"error");
    }

    /**
     * 删除商品
     * @param itemId  商品 ID
     * @return
     */
    @PostMapping("/deleteItemById")
    public Result deleteItemById(Long itemId){
        try {
            return this.itemService.deleteItemById(itemId);
        }catch (Exception e){
            e.printStackTrace();
        }
        return Result.build(500,"删除商品出错");
    }

    /**
     * 商品预更新
     * @param itemId 商品 ID
     * @return
     */
    @PostMapping("/preUpdateItem")
    public Result preUpdateItem(Long itemId){
        try {
            return this.itemService.preUpdateItem(itemId);
        }catch (Exception e){
            e.printStackTrace();
        }
        return Result.build(500,"error");
    }

    @GetMapping("/updateTbItem")
    public Result updateTbItem(TbItem item,String desc,String itemParams){
        try{
            return this.itemService.updateTbItem(item,desc,itemParams);
        }catch (Exception e){
            e.printStackTrace();
        }
        return Result.build(500,"error");
    }


}
